package ar.edu.utn.frba.disenio.aterrizar.orden;

import ar.edu.utn.frba.disenio.aterrizar.aerolineas.Vuelo;
import ar.edu.utn.frba.disenio.aterrizar.compra.Compra;
import ar.edu.utn.frba.disenio.aterrizar.compra.ManagerCompras;
import ar.edu.utn.frba.disenio.aterrizar.excepciones.CompraNoEncontradaException;

public class Popularidad implements Orden{

	public ManagerCompras managerCompras;
	
	public Popularidad(ManagerCompras manager){
		this.managerCompras = manager;
	}
	
	@Override
	public int compare(Vuelo unVuelo, Vuelo otroVuelo) {
		Compra unaCompra;
		Compra otraCompra;
		
		try{
			unaCompra = managerCompras.buscar(unVuelo.codigo);
		}
		catch(CompraNoEncontradaException e){
			unaCompra = null;
		}
		try{
			otraCompra = managerCompras.buscar(otroVuelo.codigo);
		}
		catch(CompraNoEncontradaException e){
			otraCompra = null;
		}
		
		
		if(unaCompra == null && otraCompra == null){
			return 0;
		}
		else{
			if(unaCompra.cantidad >= otraCompra.cantidad){
				if(unaCompra.cantidad == otraCompra.cantidad){
					return 0;
				}
				return 1;
			}else{
				return -1;
			}
		}
	}

}
